package cn.iocoder.yudao.module.engine.controller.app.usertimetransaction.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "用户 APP - 用户时长交易记录 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AppUserTimeTransactionRespVO {

    @Schema(description = "交易id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2651")
    @ExcelProperty("交易id")
    private String id;

    @Schema(description = "交易类型, 1: 充值, -1: 消耗", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("交易类型, 1: 充值, -1: 消耗")
    private Integer transactionType;

    @Schema(description = "充值订单ID", example = "10477")
    @ExcelProperty("充值订单ID")
    private Long orderId;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "交易时长(毫秒)", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("交易时长(毫秒)")
    private Long transactionTimeMs;

    @Schema(description = "剩余时长(毫秒)", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("剩余时长(毫秒)")
    private Long remainingTimeMs;

    @Schema(description = "对局id", example = "12838")
    @ExcelProperty("对局id")
    private String gameMatchId;

    @Schema(description = "角色id", example = "9761")
    @ExcelProperty("角色id")
    private Integer roleId;

    @Schema(description = "角色名称", example = "芋艿")
    @ExcelProperty("角色名称")
    private String roleName;

}